// 创建 Router 构造函数
const Router = require('express')
// 创建 Router 实例
const router = new Router()
// 引入 user 数据模型
const userModel = require('../model/UserModel')
// 引入 md5 对数据加密
const md5 = require('md5')

// 创建一个注册的路由
router.post('/register', async (req, res) => {
  let {username, password , email} = req.query
  // 简单判断一下数据数据是否合法
  if(username&& password && email) {
    // 去数据库中查询是否已有数据
    let result = await userModel.findOne({email})
    // 如果数据已存在数据库中则给用户返回
    if(result !== null) {
      res.send({
        status: 401,
        msg: '用户已注册',
        data: null
      })
      return
    }
    // 来到这证明数据是可以写进数据库保存的
    result = await userModel.create({username,password: md5(password),email})
    if(result) {
      res.send({
        status: 200,
        msg: '注册成功',
        data: {
          id: result._id,
          username: result.username,
          email: result.email,
          createTime: result.date
        }
      })
    }
  }else {
    res.send({
      status: 401,
      msg: '缺失部分参数',
      data: null
    })
  }
})

// 暴露 注册路由
module.exports = () => {
    return router
}

